#include "httpServer.hpp"
#include <memory>
using namespace Server;

void myperr(char *message)
{
    printf("%s使用有误，请加上端口号\n", message);
}

// 要解决2个问题
// 1：服务器和网页分离，html
// 2：url->/:web根目录

bool Get(const httpRequest &req, httpResponse &resp)
{
    cout << "---------------------http start----------------------" << endl;
    cout << req.inbuffer << endl;
    cout << "method:" << req.method << endl;
    cout << "url:" << req.url << endl;
    cout << "httpversion" << req.httpversion << endl;
    cout << "path:" << req.path << endl;
    cout << "---------------------http end  ----------------------" << endl;

    // 处理业务，将resp的数据列出
    // 这里是服务端响应给客户端的数据
    string respline = "HTTP/1.1 200 OK\r\n";

    string respheader = "Content-Type:text/html";
    string respblank = "\r\n";
    string body = "<!DOCTYPE html><html lang=\"en\"><head><meta charset=\"UTF-8\"><meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\"><title>我的简单网页</title></head><body><h1>欢迎来到我的网页</h1><p>Kimi是北京月之暗面科技有限公司于2023年10月9日推出的一款智能助手，主要应用场景为专业学术论文的翻译和理解、辅助分析法律问题、快速理解API开发文档等，是全球首个支持输入20万汉字的智能助手产品。 [1]Kimi在二级市场一度复现了ChatGPT“带货能力”的势头，引发了一众“Kimi概念股”狂飙猛涨。 [6]2024年3月18日，Kimi智能助手启动200万字无损上下文内测。 [1]3月21日，Kimi因流量突然剧增无法正常使用。 [3]2024年4月18日，月之暗面官宣旗下Kimi智能助手更新。 [7]4月24日，月之暗面宣布Kimi大模型学会“使用工具”了，API已支持Tool Calling功能。 [16]5月，Kimi推出付费打赏功能，开始试探C端付费意愿。 [20]10月，月之暗面正式上线具备AI自主搜索能力的Kimi探索版，搜索量是普通版的10倍，一次搜索即可精读500个页面。 [23]</p></body></html>";

    resp.outbuffer += respline;
    resp.outbuffer += respheader;
    resp.outbuffer += respblank;
    resp.outbuffer += body;

    return true;
}
int main(int argc, char *argv[])
{
    if (argc != 2)
    {
        myperr(argv[0]);
        exit(1);
    }

    uint16_t port = atoi(argv[1]);

    unique_ptr<httpServer> ret(new httpServer(Get, port));

    ret->initServer();
    ret->start();

    return 0;
}